package practice1_100;

import java.util.LinkedList;
import java.util.Queue;
import java.util.TreeMap;

public class Practice993 {
    public boolean isCousins(TreeNode root, int x, int y) {
        // TreeNode temp=
        //层次遍历，是亲兄弟就返回false，不是亲兄弟就添加队列里面，最后层次遍历，在同一层返回true，不是同一层返回false、
        Queue<TreeNode> q1=new LinkedList<>();
        q1.add(root);

        while(!q1.isEmpty()){
            int conut=q1.size();
            int tempVal=0;
            for(;conut>0;conut--){
                TreeNode temp= q1.poll();
                if(temp.left!=null&&temp.right!=null&&((temp.left.val==x&&temp.right.val==y)||(temp.right.val==x&&temp.left.val==y))) return false;
                if(temp.left!=null) q1.add(temp.left);
                if(temp.right!=null) q1.add(temp.right);
                if(temp.val==x||temp.val==y) tempVal++;

            }
            if(tempVal==2) return true;
        }
        return false;
    }

    public static void main(String[] args) {
        TreeNode root=new TreeNode(1,new TreeNode(2,new TreeNode(4),null),new TreeNode(3));
        boolean a =new Practice993().isCousins(root,4,3);
        System.out.println(a);
    }
}
